Student Security Analyst Position
שלב 1- מבחן בית 3 שאלות
שלב 2- ראיון טכני עם מנהל צוות
שלב 3- ראיון טכני עם מנהלP
שלב 4- ראיון עם HR
שאלות מתוך הראיון
שאלה מראיון טכני עם מנהל צוות:
נתון מערך בגדול n עם מס' שלמים וחיוביים בטווח של 1 עד n-1.
מס' במערך יכולים להופיע מס' פעמיים וגם לא להופיע בכלל
איך אפשר לדעת איזה מס' הופיעו יותר מפעם אחת?
(לא אומרים בהתחלה אלא רומזים בזמן הפתרון כדי לראות אם אפשר לשפר שזמן הריצה המינימלי הוא o(n) ולא לשתמש בעוד זיכרון נוסף)
רמז 1: להשתמש במערך המקורי ולבצע אליו מניפולציות
רמז 2: איך אפשר להגיד למס' בעתיד שמס' כלשהו כבר היה?
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2021
בזמן מעבר על המערך הנתון, עבור על מס' x ללכת לתא x ולהכפיל את המס' ששם ב-1 (מינוס 1).
כלומר: אם בתא 1 יש את המס' 3 ובתא 3 יש את המס' 7 , אז בעת מעבר:
i=1 : arr[i]=3
אז נלך לתא 3 ונכפיל במינוס 1:
arr[3]=7*-1=-7
** תוספת פיתרון שלי: בגלל שאם המס' שלילי אנו יודעים בוודאות שמס' התא הופיע פעם 1 אז צריך לדעת שהוא הופיע יותר מפעם אחת נחלק גם ב-n. ואז אם מס' הוא שלילי ולא שלם אז אנחנו יודעים שמס' התא הופיע יותר מפעם אחת
ראיון HR ולאחר מכן מבחן קוד מקוון בcodility, לאחר מכן 2 ראיונות מקצעויים, ראיון HR והגשת חוזה
שאלות מתוך הראיון
בהינתן מערך המכיל ערכי מספרים מלאים של מניות, עלייך לבחור את הרווח המקסימלי שניתן להפיק מהמנייה בין מכירה לקנייה.
לדוגמה עבור המערך הנתון [7,14,2,5,3,12,1] - הרווח המקסימלי הוא 10.
זמן ריצה o(n)
ללא תוספת זיכרון
נשמור בתא 0 את האיבר הכי גדול ובתא 1 את האיבר השני בגודלו.
עבור כל מס' במערך נבדוק:
אם הוא גדול מהאיבר בתא0 נשים את המס' בתא 0
אחרת, אם הוא גדול מהאיבר בתא1 נשים את המס' בתא 1
אחרת, נמשיך
מבחן בית שאורכו כשעתיים הכולל 3 שאלות בשפה לבחירתך.
שאלות מתוך הראיון
1. קישור לשאלה:https://www.programmersought.com/article/11471762147
2. בהינתן מחרוזת ומספר K כלשהו יש להחזיר תת מחרוזת באורך לכל היותר K כך שלא תסיים ברווחים ולא תחתוך מילה קיימת.
3. שאלת Stonewall של קודיליטי.
1 - מבחן codility
קבלתי שיחת טלפון מראש צוות, הסביר על החברה ועל הצוות, וקבענו ראיון.
לא קבלתי מייל פורמלי עבור הראיון
לפני הראיון בכמה דקות נשלח לי לינק לזום
שאלות מתוך הראיון
3 שאלות
1. להוסיף פעולת min על כל פעולות המחסנית, כך שפעולת MIN תמצא את האיבר המינימלי עד עכשיו במחסנית ב O(1) , ניתן להשתמש דרך 2 מחסניות .
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2021
הייתי מוסיף לכל איבר במחסנית את האיבר המינימלי עד אליו. (בהוספת איבר חדש ניקח נבדוק אם הוא קטן ממי שהיה מינימלי עד אליו)
אם אסור לשנות את הנתונים במחסנית אז באמת 2 מחסניות כשכל push או pop במחסנית הראשית אני עושה גם push או pop במחסנית העזר. את push של מחסנית העזר הייתי מגדיר כך שאני מוסיף את האיבר הקטן מבין מה שעכשיו בראש מחסנית העזר לבין הערך שהוספתי למחסנית הראשית.
עוסקת בפיתוח תוכנה לאבטחת מידע - תוכנות חומת אש ו־VPN.בסיסה הבינלאומי נמצא ברדווד סיטי, קליפורניה, ומרכזי הפיתוח נמצאים בתל אביב ובבלארוס.החברה נוסדה בשנת 1993 על ידי שלמה קרמר, מריוס נכט וגיל שוויד.